home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / tcxl551.arc / TCXL_INC.EXE / lha / INC / TCXLDOS.H < prev    next >
Text File  |  1990-10-01  |  4KB  |  80 lines

  1. /*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
  2.  | Copyright (c) 1987-1990, Innovative Data Concepts. All Rights Reserved
  3.  |
  4.  | This Library is part of IDC's TesSeRact Development Tools product
  5.  | line. For information about other IDC products, call 1-215-884-3373.
  6.  *----------------------------------------------------------------------*
  7.  | <TCXLdos.h> : Definition and prototypes for internal TCXL MS-DOS and
  8.  | iApx86 interface functions.
  9.  *----------------------------------------------------------------------*
  10.  | PGS : $Id: tcxldos.h 5.51 90/10/01 00:00:00 MLM Release Locker: MLM $
  11.  | $Log:    tcxldos.h $
  12.  | Revision 5.51  90/10/01  00:00:00  MLM
  13.  | TCXL 5.51
  14.  | 
  15.  *======================================================================*/
  16. #ifndef  _TCXLdos_
  17. #  define   _TCXLdos_ 1       /* only once! */
  18. #  ifndef   _TCXLdef_
  19. #     include  <TCXLdef.h>
  20. #  endif
  21.  
  22. #define  FA_RDO      0x01     /* read only attribute  */
  23. #define  FA_HID      0x02     /* hidden               */
  24. #define  FA_SYS      0x04     /* system               */
  25. #define  FA_VOL      0x08     /* volume label         */
  26. #define  FA_DIR      0x10     /* directory            */
  27. #define  FA_ARC      0x20     /* archive              */
  28. #define  FA_DEV      0x40     /* device *UNDOC*       */
  29.  
  30. /*------------------[ Data objects and access macros ]------------------*/
  31.  
  32. TYP   struct   Ffb   FfbT, *FfbP;
  33. struct   Ffb            /* findfirst/findnext DTA */
  34. {  BytT  fdos[21];
  35.    BytT  fatr;
  36.    WrdT  ftim;
  37.    WrdT  fdat;
  38.    LngT  fsiz;
  39.    ChrT  fnam[13];
  40. };
  41. #define  FfbDos(f)   ((f).fdos)                       /* DOS-reserved   */
  42. #define  FfbAtr(f)   ((f).fatr)                       /* file attribute */
  43. #define  FfbRdo(f)   (0 != ((f).fatr & FA_RDO))       /*    read-only   */
  44. #define  FfbHid(f)   (0 != ((f).fatr & FA_HID))       /*    hidden      */
  45. #define  FfbSys(f)   (0 != ((f).fatr & FA_SYS))       /*    system      */
  46. #define  FfbVol(f)   (0 != ((f).fatr & FA_VOL))       /*    volume      */
  47. #define  FfbDir(f)   (0 != ((f).fatr & FA_DIR))       /*    directory   */
  48. #define  FfbArc(f)   (0 != ((f).fatr & FA_ARC))       /*    archive     */
  49. #define  FfbDev(f)   (0 != ((f).fatr & FA_DEV))       /*    device      */
  50. #define  FfbTim(f)   ((f).ftim)                       /* packed time    */
  51. #define  FfbDat(f)   ((f).fdat)                       /* packed date    */
  52. #define  FfbSiz(f)   ((f).fsiz)                       /* file size      */
  53. #define  FfbNam(f)   ((f).fnam)                       /* file name      */
  54. #define  FfbDot(f)   ((f).fnam[0]=='.')               /*    '.' or '..' */
  55. #define  FfbPar(f)   (FfbDot(f) && ((f).fnam[1] == '.')) /* parent dir  */
  56.  
  57. /*------------------------[ Function prototypes ]-----------------------*/
  58.  
  59. #ifdef   __cplusplus          /* no mangling, please */
  60.    extern   "C"   {
  61. #endif
  62.                                                 /*- MS-DOS -------------*/
  63. IntT  PAS   _ChgDir(ChrP p);                    /* change directory     */
  64. IntT  PAS   _ChgDrv(IntT d);                    /* change current drive */
  65. IntT  PAS   _FndFst(ChrP p, FfbP f, IntT a);    /* find first file      */
  66. IntT  PAS   _FndNxt(FfbP f);                    /* find next file       */
  67. VOID  PAS   _GetDir(IntT d, ChrP p);            /* get current dir      */
  68. IntT  PAS   _GetDrv(NOARG);                     /* get current drive    */
  69.                                                 /*- iApx86 -------------*/
  70. IntT  PAS   _InpByt(WrdT p);                    /* input byte           */
  71. WrdT  PAS   _InpWrd(WrdT p);                    /* input word           */
  72. VOID  PAS   _IntDis(NOARG);                     /* disable interrupts   */
  73. VOID  PAS   _IntEna(NOARG);                     /* enable interrupts    */
  74. VOID  PAS   _OutByt(WrdT p, IntT b);            /* output byte          */
  75. VOID  PAS   _OutWrd(WrdT p, WrdT w);            /* output word          */
  76. #ifdef __cplusplus
  77.    }
  78. #endif
  79. #endif   /* _TCXLdos_ : End of TCXLdos.h */
  80.